﻿/***  File Header  ************************************************************/
/**
* @file TxIO.h
*
* テキストI/Oクラス
* @author shozo fukuda
* @date   作成 Mon Mar 20 20:04:57 2006
* @date   修正 $Date: 06/04/13 14:22 $
* System  Generic <br>
*
*******************************************************************************/
#ifndef _TXIO_H
#define _TXIO_H

/*******************************************************************************
* IMPORTS:
*******************************************************************************/

/*******************************************************************************
* CONSTANT:
*******************************************************************************/

/*******************************************************************************
* TYPE:
*******************************************************************************/

/*******************************************************************************
* MACRO:
*******************************************************************************/

/***  Class Header  *******************************************************}}}*/
/**
* テキストI/Oクラス
* @par 解説
*   テキスト入出力チャネルのサービス
**/
/**************************************************************************{{{*/
class TxIO {
friend class TxIOTest;

//CONSTANT:
public:

//LIFECYCLE:
public:
  TxIO()
    {/*empty*/}
  virtual ~TxIO()
    {/*empty*/}

//ACTION:
public:
  virtual long  GetC(long timeout = -1)
    { return -1; }
  virtual char* GetS(char* s, long timeout = -1)
    { return 0; }

  virtual void PutC(char c) = 0;
  virtual void PutS(char* s);
  virtual void Printf(char* fmt, ...);

  virtual void Error(char* fmt, ...);

//ACCESSOR:
public:

//INQUIRY:
public:

//ATTRIBUTE:
protected:
};

/*INLINE METHOD:
--$-----------------------------------*/

/*******************************************************************************
* REGULAR C-FUNCTION:
*******************************************************************************/

/*******************************************************************************
* GLOBAL VARIABLE:
*******************************************************************************/

#endif /* _TXIO_H */
